{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import argparse\n",
    "import os\n",
    "import cv2\n",
    "import h5py\n",
    "from sklearn import preprocessing\n",
    "from tensorflow.keras import backend as K\n",
    "from tensorflow.keras.models import Model, load_model, model_from_json\n",
    "from PIL import Image\n",
    "import imagehash\n",
    "import csv\n",
    "import math\n",
    "import scipy\n",
    "from sklearn.metrics import classification_report\n",
    "from sklearn.model_selection import train_test_split"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "f = csv.reader(open('../../../../data/data_set/BIT_label.csv','r',encoding='utf-8'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = load_model('../../../../data/neural_networks/BIT_DenseNet121.h5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_data = []\n",
    "Y_data = []\n",
    "num_class = 6\n",
    "input_shape=(32,32,3)#3通道图像数据\n",
    "for lists in f:\n",
    "    img = cv2.imread('../../../../data/data_set/BIT/'+lists[1])\n",
    "    img = cv2.resize(img, (input_shape[0], input_shape[1]))\n",
    "    X_data.append(img)\n",
    "    Y_data.append(int(lists[2]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_x,test_x,train_y,test_y = train_test_split(X_data,Y_data,test_size=0.4)\n",
    "train_x = np.array(train_x).astype('float32') / 255.\n",
    "train_y = np.array(train_y) \n",
    "test_x = np.array(test_x).astype('float32') / 255.\n",
    "test_y = np.array(test_y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_x_mean = np.mean(train_x, axis=0)\n",
    "test_x_mean = np.mean(test_x, axis=0)\n",
    "train_x -= train_x_mean\n",
    "test_x -= test_x_mean"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "lb = preprocessing.LabelBinarizer().fit(np.array(range(num_class)))  # 对标签进行ont_hot编码\n",
    "train_y = lb.transform(train_y)  # 因为是多分类任务，必须进行编码处理\n",
    "test_y = lb.transform(test_y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "error_array = [0, 0, 0, 0, 0, 0]\n",
    "num_array = [0, 0, 0, 0, 0, 0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_x_perdict = model(test_x)\n",
    "test_x_perdict_arg = np.argmax(test_x_perdict, axis=1)\n",
    "test_y_arg = np.argmax(test_y, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "for i,j in zip(test_y_arg, test_x_perdict_arg):\n",
    "    num_array[i] = num_array[i] + 1\n",
    "    if i != j:\n",
    "        error_array[i] = error_array[i] + 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.1634517766497462"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.array(error_array).sum() / np.array(num_array).sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "error_rate_old = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.3625,\n",
       " 0.05008635578583765,\n",
       " 0.553623188405797,\n",
       " 0.3471502590673575,\n",
       " 0.2403846153846154,\n",
       " 0.05345911949685535]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "for i,j in zip(error_array, num_array):\n",
    "    error_rate_old.append(i / j)\n",
    "error_rate_old"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([10, 11, 12, 13, 14])"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.arange(10,15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.67      0.64      0.65       560\n",
      "           1       0.89      0.95      0.92      2316\n",
      "           2       0.84      0.45      0.58       345\n",
      "           3       0.70      0.65      0.68       193\n",
      "           4       0.92      0.76      0.83       208\n",
      "           5       0.78      0.95      0.85       318\n",
      "\n",
      "    accuracy                           0.84      3940\n",
      "   macro avg       0.80      0.73      0.75      3940\n",
      "weighted avg       0.83      0.84      0.83      3940\n",
      "\n"
     ]
    }
   ],
   "source": [
    "report = classification_report(test_y_arg,test_x_perdict_arg)\n",
    "print(report)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "算混淆矩阵"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "BIT——ResNet生成的杀死率不均衡，查看原始图像和生成测试用例的混淆矩阵发现，有区别。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "deepsmartfuzz_path = \"../../../../output/grad/DenseNet121/BIT/generated_samples_d\"\n",
    "deepsmartfuzz_new_inputs = np.load(os.path.join(deepsmartfuzz_path, 'new_inputs.npy'))\n",
    "deepsmartfuzz_origin_inputs = np.load(os.path.join(deepsmartfuzz_path, 'orgin_inputs.npy'))\n",
    "deepsmartfuzz_new_outputs = np.load(os.path.join(deepsmartfuzz_path, 'new_outputs.npy'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "deepsmartfuzz_perdict = model(deepsmartfuzz_new_inputs)\n",
    "deepsmartfuzz_perdict_arg = np.argmax(deepsmartfuzz_perdict, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "deepsmartfuzz_new_outputs_arg = np.argmax(deepsmartfuzz_new_outputs, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "error_array = [0, 0, 0, 0, 0, 0]\n",
    "num_array = [0, 0, 0, 0, 0, 0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "for i,j in zip(deepsmartfuzz_new_outputs_arg, deepsmartfuzz_perdict_arg):\n",
    "    num_array[i] = num_array[i] + 1\n",
    "    if i != j:\n",
    "        error_array[i] = error_array[i] + 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5950520833333334"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.array(error_array).sum() / np.array(num_array).sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "error_rate_new = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.9354838709677419,\n",
       " 0.529082774049217,\n",
       " 0.6294820717131474,\n",
       " 0.5970149253731343,\n",
       " 0.4245810055865922,\n",
       " 0.5215686274509804]"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "for i,j in zip(error_array, num_array):\n",
    "    error_rate_new.append(i / j)\n",
    "error_rate_new"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "report = classification_report(deepsmartfuzz_new_outputs_arg,deepsmartfuzz_perdict_arg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.68      0.06      0.12       465\n",
      "           1       0.81      0.47      0.60      1788\n",
      "           2       0.21      0.37      0.27       251\n",
      "           3       0.07      0.40      0.12       134\n",
      "           4       0.17      0.58      0.26       179\n",
      "           5       0.88      0.48      0.62       255\n",
      "\n",
      "    accuracy                           0.40      3072\n",
      "   macro avg       0.47      0.39      0.33      3072\n",
      "weighted avg       0.68      0.40      0.46      3072\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print(report)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "deepsmartfuzz_path = \"../../../../output/grad/DenseNet121/BIT/generated_samples\"\n",
    "deepsmartfuzz_new_inputs = np.load(os.path.join(deepsmartfuzz_path, 'new_inputs.npy'))\n",
    "deepsmartfuzz_origin_inputs = np.load(os.path.join(deepsmartfuzz_path, 'orgin_inputs.npy'))\n",
    "deepsmartfuzz_new_outputs = np.load(os.path.join(deepsmartfuzz_path, 'new_outputs.npy'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "deepsmartfuzz_perdict = model(deepsmartfuzz_new_inputs)\n",
    "deepsmartfuzz_perdict_arg = np.argmax(deepsmartfuzz_perdict, axis=1)\n",
    "deepsmartfuzz_new_outputs_arg = np.argmax(deepsmartfuzz_new_outputs, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "report = classification_report(deepsmartfuzz_new_outputs_arg,deepsmartfuzz_perdict_arg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.78      0.10      0.18       419\n",
      "           1       0.80      0.45      0.58      1828\n",
      "           2       0.17      0.37      0.24       252\n",
      "           3       0.09      0.44      0.15       144\n",
      "           4       0.15      0.54      0.23       169\n",
      "           5       0.81      0.41      0.55       260\n",
      "\n",
      "    accuracy                           0.40      3072\n",
      "   macro avg       0.47      0.39      0.32      3072\n",
      "weighted avg       0.68      0.40      0.45      3072\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print(report)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "error_rate = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.7915904936014625,\n",
       " 0.9630755864465682,\n",
       " 0.664756446991404,\n",
       " 0.6397557666214383,\n",
       " 0.14986813713737712,\n",
       " 0.9815950920245399]"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "for new,old in zip(error_rate_new, error_rate_old):\n",
    "    error_rate.append(new - old)\n",
    "error_rate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "precision_rate_old = [0.67, 0.89, 0.84, 0.70, 0.92, 0.78]\n",
    "precision_rate_new = [0.67, 0.81, 0.21, 0.07, 0.17, 0.88]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "precision_rate = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.0,\n",
       " 0.07999999999999996,\n",
       " 0.63,\n",
       " 0.6299999999999999,\n",
       " 0.75,\n",
       " -0.09999999999999998]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "for old,new in zip(precision_rate_old, precision_rate_new):\n",
    "    precision_rate.append(old - new)\n",
    "precision_rate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "recall_rate_old = [0.64, 0.95, 0.45, 0.65, 0.76, 0.95]\n",
    "recall_rate_new = [0.06, 0.47, 0.37, 0.40, 0.58, 0.48]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "recall_rate = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.5800000000000001,\n",
       " 0.48,\n",
       " 0.08000000000000002,\n",
       " 0.25,\n",
       " 0.18000000000000005,\n",
       " 0.47]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "for old,new in zip(recall_rate_old, recall_rate_new):\n",
    "    recall_rate.append(old - new)\n",
    "recall_rate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "f1_rate_old = [0.65, 0.92, 0.58, 0.68, 0.83, 0.85]\n",
    "f1_rate_new = [0.12, 0.60, 0.27, 0.12, 0.26, 0.62]\n",
    "f1_rate_new_r = [0.18, 0.58, 0.24, 0.15, 0.23, 0.55]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "f1_rate = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.47000000000000003,\n",
       " 0.3400000000000001,\n",
       " 0.33999999999999997,\n",
       " 0.53,\n",
       " 0.6,\n",
       " 0.29999999999999993]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "for old,new in zip(f1_rate_old, f1_rate_new_r):\n",
    "    f1_rate.append(old - new)\n",
    "f1_rate"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "画杀死率图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "kill_per_class = [72,74,69,71,70,70]\n",
    "kill_per_class_2 = [72,74,69,71,70,70]\n",
    "kill_origin = [53,48,41,41,48,46]\n",
    "[49, 54, 60, 51, 53, 48]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = [[0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1], [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = np.array(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "48"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data[5].sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "kill = [0,0,0,0,0,0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in np.arange(6):\n",
    "    kill[i] = data[i].sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[49, 54, 60, 51, 53, 48]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kill"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[19, 26, 28, 30, 22, 24]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kill_rate = []\n",
    "for old,new in zip(kill_per_class, kill_origin):\n",
    "    kill_rate.append(old - new)\n",
    "kill_rate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "kill_origin = np.array(kill_origin)\n",
    "kill_per_class = np.array(kill_per_class)\n",
    "kill_per_class_2 = np.array(kill_per_class_2)\n",
    "kill_rate = np.array(kill_rate)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1, 2, 3, 4, 5, 6])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kill_per_index = np.arange(1, 7)\n",
    "kill_per_index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['SUV', '轿车', '微型客车', '小型货车', '公共汽车', '卡车']"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 公共汽车、微型客车、小型货车、轿车、SUV和卡车。每种车型的车辆数量分别为558辆、883辆、476辆、5922辆、1392辆和822辆。\n",
    "class_name = ['SUV', 'Sedan', 'Microbus', 'Minivan', 'Bus', 'Truck']\n",
    "[1392, 5922, 883, 476, 558, 822]\n",
    "['SUV','轿车','微型客车','小型货车','公共汽车','卡车']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "No handles with labels found to put in legend.\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEHCAYAAAC9TnFRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA0ZElEQVR4nO3de3xcd33n/9dHo6t1sSXZkhxJiWQiq7FE5ChqhFrVNgRaLl2gLIRLFwLLY1N2W6Dbsi273e3Cj+0uvTy2hVKWsoWS9kdpUiBNFlpoNkQ2YoWC7ViJpWA7KzuxTCzHkmxLli1Z0mf/OGfmO7ZlaWTrzDlH/jwfDz881zPfeR/NfOZcvt+vqCrGGGPMcnLCboAxxph4sIJhjDEmI1YwjDHGZMQKhjHGmIxYwTDGGJOR3LAbkKmKigrdsmVL2M2IhNnZWfLz88NuRiRYFo5l4VgWzr59+06r6qbVWFZsCsamTZvYu3dv2M2IhJ6eHnbt2hV2MyLBsnAsC8eycETkhdVaVmwKxrp168JuQiguzM5zemqGsfOznJ6cYWJ6lvKKBqZn51iXH5vVF5i2trawmxAZloVjWQQjNt848/PzYTdhVcwvKBPTs4xNzXJ6asYrBlOzjJ2fSbvNXZ+eXfx9J3KGaK4uZfutG7irfgN33bqBLRtLyMmRLL+jcE1OTlJeXh52MyLBsnAsi2DEpmDMzMyE3YRFqSrTs/OMTc3y8tQMY/7WwFjqi9/bMkgWgPHpWRbrXJ/IESqL86ksKWBjST4Nlev8ywVUluSzsSSfyuIC1hfl8fff62N+Qz0Hjp/hfw38hL/pfxGA0sJcttd7BWT7rRvYXl9ORfHa3o87PDzMrbfeGnYzIsGycCyLYMSmYGTT3PwC49OznJ68/Jf/ZYUgbUvg4qWFRZdTWpDLxtICKovzadxYTEdDBRuL8/3bri4EmW4dbK/KZdeuZgAWFpTh01M8/eIZnj5+hgMvnuFzTz7Pgl+Ubqtcl1ZEytm2uYz8XDs5zpg4unTpEiMjI1y8ePGq+woLC6mrqyMvLy+w149NwSgoKLju56oqUzNzV33Rj6VdTy8IE9OXFl1OXkJSX/SVJQW8YlNJ6nJqS8C/v6I4n8K8xHW3eSkNDQ2pyzk5wu1VpdxeVco7OuoBmJ6d49mRs6kC8sPhMR498BMA8nNzaLmlzCsit5ZzV/0G6sqLEInnrqz0LG52loWzVrMYGRmhtLSUhoaGyz6zqsrY2BgjIyM0NjYG9vqxKRiJxOVfvrNzC4yfv/yLfmxqltPnZy7bMhibmuH0+Vlm5xbfCigr9LYCNhYX0FRVwqu2VFBZXODf5hWDZCEoK8qNxBdrRUXFkvevy8+lc0slnVsqU7e9dPYCB9K2Qr721Iv85Q+OAbCxJD9VQLbXb+DOuvWUFgb3K2U1LZfFzcSycNZqFhcvXryqWACICJWVlbz88suBvn5sCsax0+e57wt9nPYLwdkLi28F5CdyvN08/hf91upS/3q+vxXg7SLaWFJARXF+LHfP7N+/f8WnDG5eX8TmVxbxhlduBuDS/AKHTk5y4PgZnn7xDAeOT/C/nzsFgAg0VZVcVkS2VpeSiOAB9evJYq2yLJy1nMW1frRm48dsbArGpQVFBO6oKfN2A6WOARRcViBKC6KxFRB1eYkcWmvX01q7nn/xqtsAODt9iYERV0AeHxrl4b0jABTnJ3hl3Xq215dzl39mVlVZYZhvwRiTZbEpGLdtyOehX+kKuxmRENTpguvX5bFj6yZ2bPU6haoqL4xN+1shExw4foYv9Q5zad47ol67ocjfCtnA9voNtNauD+y4zbXYqZOOZeFYFsGITcEoKioKuwmRka1OSSJCw8ZiGjYW89a7agG4eGmewZ+cu6yIfPvZlwDIzRHu2Fx2WRFp3Fgc6BbfzdJBK9l/J9lv58r+O+PnZ8lL5FB0eIB1+QmK8hOsy8t1l/1/Rfn+bXkJigvS7s9LkJuI3+7Za1nLfxequuhnKhuT4QVaMESkGXgo7aYtwO8Cf+Xf3gAcA+5T1YmlljU5ORlMI2No9+7d7Ny5M5TXLsxLcPdt5dx9WzngnY3x8uQMB457u7GefvEMjzx9gr/+oTcawYZ1ebTVbbisiGxYt3p9Q8LM4kYk+++cTjtNO/207asKwjX67+TmCBXF3ll5ZyenkNwCpi/NMz07f80TPa4lP5GTKi6pIpOXm1ZwctMKT1oByku/zT1mXb57bl6Wi1Fc/y6WU1hYyNjYGJWVlYueJVVYGOxu4kALhqoeArYDiEgCOAE8AnwceEJVPy0iH/ev/3aQbVlLojat7qbSAl63rZrXbasGvF/Dz5+aShWQA8fP8KffO5LqG7JlY3FaASnnpzaXXvcXSpSyWKr/jtd5M8P+O4W5qWNzWzaW8NMNrkPnRv+kjeT1skLXf+fK8ZPm5he4cGmeC7NeAZmenefCpTnOz7jL07NX3D/r3Tadet4cE9OznDjjrk/PzjOzwmKUlxCK8lxBuargFKQVmbxFtoj8raBkESoucMVssRNXovR3sZrq6uoYGRlZ9GyoZD+MIGVzl9S9wP9V1RdE5C3ALv/2B4EerGBkLOoH9RM5QnNNKc01pbzzp73etlMzczwzciZ1Vtb3nz/NN58+AUBBbg6vrF3vzsq6dQO3rC/M6H0GmUUQ/Xc2lhTwiqqSq774k/14KorzKci9vuNAV2aRm8ihNJETyCnS8wvKhUteAUkvOMmCciHt+oUrClD6/WenZ3kpVcy8+69VSK8lN0cu2woqzEswff4Cpc9+f9Xfd/SNBLr0bBaMdwFf8y9Xq+pL/uWTQPViTxCRB4AHAG655RZ6enoA2LJlC6WlpQwMDABQWVlJS0sLe/bsASA3N5fu7m7279/PuXPnAOjo6GB0dJTjx48D0NTUREFBAQcPHgSgqqqKrVu30tvbC3gdBbu6uti7dy9TU1MAdHZ2MjIywokT3hddc3MziUSCoaEhAGpqamhsbKSvrw/wjrt0dnbS39/PhQsXAOjq6uLo0aOcPHkSgG3btjE/P8+hQ4cAqK2tpa6ujv7+fgBKSkro6Oigr68vNTxKd3c3Q0NDnDrlnQbb2trKzMwMR44cAaC+vp7q6urU6L5lZWW0t7fT29vL3NwcADt27GBwcJCxsTHA2+c7OTnJ8PAw4HV8qqioYP/+/YB3ELGtrY3du3en9qHu3LmTgYEBJia8vYnt7e2Mj49z7Nixa66nD+3w1tN76hOcvVRKbs3tfHfvYZ47dZYHj0/wF71HAVhfILxifQ73vKKK7fUbYPwFCnNl0fUEZLye5haUwvWbKK6spvdHA5ybVS5oLsWVNfz46Akmpuc4N6vMSB6nJ2e5tLD4L9XS/Bw2lhaSv3CRDfnCKzbnc0djA+dOnaAoZ571BcKruzqYOPki5ydOIyK0tt5x+Xqqq6e6egN79+7lNDBbVsbmG1xPAwMDq7KerufztKm4gINHBykA6quq2PpKfz0loGDdcp+nHJqb7yCRSHBwcJDZeVhfuYlNNbX07X2amXlFE/nctqWJZ587xOSFWWbmofqWel56eYzxc1PMzM9TWFzM9Ow8+XMCs+cpKiyksKiQiYkz/ntJsGH9BiYmJphf8ApTRUUF589PMTMz631eSktZWFhg6vx5AIqKCikoKODMmbMA5OXmsn79esbHx1nwt2QqKyuYnJxkdtb70bC+rIy5uTnOT08DsG5dEXl5+Zw96y0jPy+PsrIyxsbGUED83M+dO8fsJX8Z69dz6dIs09Ped0fxunXk5uZy1l8H+fl5lJaWMjY2DkCOCBUVFZw9e5ZL/t/Phg3rF/37vV6SjU03EckHfgK0qOqoiJxR1Q1p90+o6pKnNbS0tOjg4GDALY2H5JfCWjM7t8CPT55L6xtyhqOnvQ9tjsDW6tLUcZC7bi3n9k0lPPPMAI1bW1L9c5IdNcfSB3b0O3Qu2X8nNyfVUTP9NO2NaT37k1sC5eui2X9nrf5dXA/LwhGRfarasRrLytYWxhuA/ao66l8fFZHNqvqSiGwGTi23gOQvLkPql+Jak5+bw511G7izbgPv88+gnjg/y4GRM6le6v/w7Em+9pT3q7YoL8Hs3DzzemLR5ZWvy0t11Lxjc9llPfcriwvYVOr685Ssgf47a/Xv4npYFsHIVsF4N253FMBjwP3Ap/3/H81SO0zMlBfn8+rmKl7dXAV4gy0eHTvPgRfPMPiTc4z+ZIS7tt2eNqqvfyxgXf6aOk3UmCgIfJeUiBQDLwJbVPWsf1sl8DBwK/AC3mm140st56677tKnn3460LbGxblz5ygrKwu7GZFgWTiWhWNZOKu5Syrwn2Cqel5VK5PFwr9tTFXvVdUmVX3tcsUC1s4ESqthfHzZuG4aloVjWTiWRTBis80e1QmUwpA8u8VYFuksC8eyCEZsCoYxxphwxaZg3MgESmvNli1bwm5CZFgWjmXhWBbBiE3BuHICpZtZaWlp2E2IDMvCsSwcyyIYsSkY036PSUOqR66xLNJZFo5lEYzYFAxjjDHhik3ByM2NzdQdgausrFz+QTcJy8KxLBzLIhhZGUtqNXR0dGhyML2b3cLCAjk5san1gbIsHMvCsSycWHXcWy02gZKTHEXUWBbpLAvHsghGbAqGMcaYcMWmYMR9JNHVZMdzHMvCsSwcyyIYdgzDGGPWsJvyGIb1w3CSs6sZyyKdZeFYFsGITcGw0Wqd5DSZxrJIZ1k4lkUwYlMwjDHGhCs2BaO4uDjsJkRGR8eq7I5cEywLx7JwLItgxKZgXLp0KewmRMbo6OjyD7pJWBaOZeFYFsGITcGYnZ0NuwmRcfz48bCbEBmWhWNZOJZFMGJTMIwxxoQrNgWjsLAw7CZERlNTU9hNiAzLwrEsHMsiGIEXDBHZICJfF5Efi8hzItIlIhUi8riIHPH/L89gOUE3NTZs9kHHsnAsC8eyCEY2tjA+A3xHVX8KaAOeAz4OPKGqTcAT/vUlXbhwIdBGxsnBgwfDbkJkWBaOZeFYFsEItGCIyHpgB/AlAFWdVdUzwFuAB/2HPQi8Nch2GGOMuXFBj9DVCLwM/KWItAH7gI8C1ar6kv+Yk0D1Yk8WkQeABwCqq6vp6ekBvAneS0tLU9MwVlZW0tLSkhrSODc3l+7ubvbv35/q8dnR0cHo6Gjq7ImmpiYKCgpSv0SqqqrYunUrvb29gLdJ29XVxd69e5mamgKgs7OTkZERTpw4AUBzczOJRIKhoSEAampqaGxspK+vD4CioiI6Ozvp7+9PbSF1dXVx9OhRTp48CcC2bduYn5/n0KFDANTW1lJXV0d/fz8AJSUldHR00NfXx8zMDAAbN25kaGiIU6dOAdDa2srMzAxHjhwBoL6+nurqapJjb5WVldHe3k5vby9zc3MA7Nixg8HBQcbGxgBoa2tjcnKS4eFhABoaGqioqEgNsVBeXk5bWxu7d+9GVRERdu7cycDAABMTEwC0t7czPj7OsWPHsraekqdbR3E9dXd3c/jw4aytp4sXLzIwMBDJ9ZTtz9PFixfp6emJ5HqC7H6eVlOggw+KSAfwQ+BnVbVfRD4DnAM+rKob0h43oapLHse4++67dd++fYG1NU7m5uZsNE6fZeFYFo5l4cRp8MERYERV+/3rXwfagVER2Qzg/39quQUlf5UYUr/ajGWRzrJwLItgBFowVPUkcFxEmv2b7gWGgMeA+/3b7gceDbIdxhhjblw2ttk+DHxVRPKBYeADeIXqYRH5IPACcN9yC7H5eR07ZdCxLBzLwrEsgmETKBljzBoWp2MYq8YmUHKscDqWhWNZOJZFMGJTMGwCJcdOAHAsC8eycCyLYMSmYBhjjAlXbI5htLe3q83T67lw4QJFRUVhNyMSLAvHsnAsC+emPIZhEyg5IyMjYTchMiwLx7JwLItgxKZg2ARKTnIoBWNZpLMsHMsiGLEpGMYYY8IVm4JhEyg5zc3Nyz/oJmFZOJaFY1kEIzYFwyZQchKJRNhNiAzLwrEsHMsiGLEpGDaBkpMc/tlYFuksC8eyCEZsCoYxxphwxaZg5OXlhd2EyKipqQm7CZFhWTiWhWNZBCM2BcNGn3QaGxvDbkJkWBaOZeFYFsGITcGwsWGc5JSVxrJIZ1k4lkUwYlMwjDHGhCs2BcMmUHJsjBzHsnAsC8eyCEZsBh+0CZSMMWblbsrBB8+fPx92EyKjv78/7CZEhmXhWBaOZRGM2BSMhYWFsJsQGdaJ0bEsHMvCsSyCEZuCYYwxJlyBH8MQkWPAJDAPzKlqh4hUAA8BDcAx4D5VnVhqOXfffbfu27cv0LbGxczMjPVL8VkWjmXhWBZOHI9hvFpVt6c1+uPAE6raBDzhX1/SzMxMkO2LlaNHj4bdhMiwLBzLwrEsghHWLqm3AA/6lx8E3rrcE2zGPefkyZNhNyEyLAvHsnAsi2DkZuE1FPgnEVHgz1X1i0C1qr7k338SqF7siSLyAPAAQFVVFT09PQBs2bKF0tJSBgYGAKisrKSlpYU9e/YAkJubS3d3N/v37+fcuXMAdHR0MDo6yvHjxwFoamqioKCAgwcPklz+1q1b6e3tBbyhSLq6uti7d2+ql3lnZycjIyOp2byam5tJJBKpkTFrampobGxM9TItKiqis7OT/v7+1EG4rq4ujh49mvqD3rZtG/Pz8xw6dAiA2tpa6urqUmd5lJSU0NHRQV9fX2orS1UZGhri1KlTALS2tjIzM8ORI0cAqK+vp7q6muRpyGVlZbS3t9Pb28vc3BwAO3bsYHBwkLGxMQDa2tqYnJxkeHgYgIaGBioqKkjOo15eXk5bWxu7d+9GVRERdu7cycDAABMT3t7E9vZ2xsfHOXbsWNbWU/LsuSiup+7ubg4fPpy19TQ1NcXAwEAk11O2P09TU1P09PREcj1Bdj9PqykbxzBqVfWEiFQBjwMfBh5T1Q1pj5lQ1fKllrN9+3Y9cOBAoG2Ni1OnTlFVVRV2MyLBsnAsC8eycGJ1DENVT/j/nwIeAe4BRkVkM4D//6kMlhNkM2Nlfn4+7CZEhmXhWBaOZRGMQAuGiBSLSGnyMvDzwEHgMeB+/2H3A48ut6yLFy8G1czYSe4WMZZFOsvCsSyCEfQxjGrgEX961Vzgb1T1OyLyI+BhEfkg8AJwX8DtMMYYc4MCLRiqOgy0LXL7GHDvSpaVn5+/Ws2Kvdra2rCbEBmWhWNZOJZFMDLeJeXvXsrxL28VkTeLSNamwbMZ95y6urqwmxAZloVjWTiWRTBWcgxjD1AoIrXAPwHvBb4SRKMWY4MPOjawmmNZOJaFY1kEYyUFQ1R1Gngb8HlVfQfQEkyzjDHGRM2KCoaIdAG/DHzbvy2x+k1aXCKRtZeKvJKSkrCbEBmWhWNZOJZFMDLuuCciO4HfBH6gqr8vIluAX1fVjwTZwCSbQMkYY1YulI57qrpbVd/sF4sc4HS2igXYMYx0NsG9Y1k4loVjWQRjJWdJ/Y2IlPkd8A4CQyLy74Jr2uVsAiXHRu51LAvHsnAsi2Cs5BjGNlU9hzey7D8CjXhnShljjLkJrKRg5Pn9Lt6KN3jgJbyRaLPCDmI53d3dYTchMiwLx7JwLItgrKRg/Dne7HjFwB4RuQ04F0SjFmObmM7hw4fDbkJkWBaOZeFYFsFYyUHvz6pqraq+UT0vAK8OsG2XsQmUnOS4/caySGdZOJZFMFY0lpSIvAmvs15h2s3/36q2yBhjTCSt5CypLwDvxJsASYB3ALcF1K6rFBUVZeulIq+1tTXsJkSGZeFYFo5lEYyVHMP4GVV9HzChqp8EuoCtwTTrajaBkmPHcxzLwrEsHMsiGCspGBf8/6dF5BbgErB59Zu0OJtAyUnONWwsi3SWhWNZBGMlxzC+JSIbgD8E9uOdUvsXQTTKGGNM9GRcMFT1U/7Fb4jIt4BCVT0bTLOuZhMoOfX19WE3ITIsC8eycCyLYCxbMETkbUvch6p+c3WbtDibQMmprq4OuwmRYVk4loVjWQQjk2MY/2yJf78YXNMuZ4MPOjZqr2NZOJaFY1kEY9ktDFX9QDYaYowxJtpW0g/jv/oHvZPXy0Xkv2T43ISIPO0f+0BEGkWkX0SeF5GHRGTZAxQ2gZJTVlYWdhMiw7JwLAvHsgjGSk6rfYOqnkleUdUJ4I0ZPvejwHNp138f+GNVvR2YAD643ALWrVuXeUvXuPb29rCbEBmWhWNZOJZFMFZSMBIiUpC8IiJFQMESj08+rg54E/4puCIiwGuAr/sPeRBvBNwlTU1NraCpa1tvb2/YTYgMy8KxLBzLIhgr6YfxVeAJEflL//oH8L7sl/MnwG8Bpf71SuCMqs7510eA2sWeKCIPAA8AVFVV0dPTA8CWLVsoLS1lYGDAW2BlJS0tLezZs8d7U7m5dHd3s3//fs6d8wbU7ejoYHR0lOPHjwPQ1NREQUEBBw8eJLn8rVu3pv7QCgoK6OrqYu/evali1dnZycjICCdOnACgubmZRCLB0NAQADU1NTQ2NqZm+yoqKqKzs5P+/n4uXPD6PXZ1dXH06FFOnjwJwLZt25ifn+fQoUMA1NbWUldXR39/P+AN697R0UFfX1+q96qqMjQ0lBpgrbW1lZmZmVRnpfr6eqqrq1MH/srKymhvb6e3t5e5OS/2HTt2MDg4yNjYGABtbW1MTk4yPDwMQENDAxUVFezfvx+A8vJy2tra2L17N6qKiLBz504GBgaYmJgAvF914+PjHDt2LGvrKXkyRBTXU3d3N4cPH87aepqammJgYCCS6ynbn6czZ87Q09MTyfUE2f08raaM5/QGEJHXA6/1rz6uqt9d5vG/CLxRVf+NiOwCPga8H/ihvzsKEakH/lFVlxz8pbm5WZMf1ptdT08Pu3btCrsZkWBZOJaFY1k4qzmn94oKxpILEulT1a4rbvtveLPyzeGNcFsGPAL8AlCjqnMi0gV8QlV/Yanld3R0qJ0q51lYWCAnZyV7E9cuy8KxLBzLwlnNgrGaiRZeeYOq/ntVrVPVBuBdwPdU9ZeBJ4G3+w+7H3h0uYUnN0ENDA4Oht2EyLAsHMvCsSyCsZoFYyWbKr8N/IaIPI93TONLyz0hua/QkNpPaiyLdJaFY1kEY0UTKN0IVe0BevzLw8A92XptY4wxN241tzBkFZd1FeuH4bS1tYXdhMiwLBzLwrEsgpFRwfB7aj+5zMPeuwrtuab5+fkgFx8rk5OTYTchMiwLx7JwLItgZFQwVHUeWBCR9Us85uCqtWoRNoOWkzy321gW6SwLx7IIxkqOYUwBz4rI40Bq6FhV/ciqt8oYY0zkrKRgfNP/F4qCgmVHIblpNDQ0hN2EyLAsHMvCsSyCsZIZ9x70x4+6VVWz3uXaRqt1Kioqwm5CZFgWjmXhWBbBWMnw5v8MOAB8x7++XUQeC6hdV5mens7WS0VecjwaY1mksywcyyIYKzmt9hN4fSfOAKjqAWDLqrfIGGNMJK2kYFxS1bNX3Lawmo1ZSm5u1voYRl55eXnYTYgMy8KxLBzLIhgr+RYeFJH34M2L0QR8BPg/wTTrakVFRdl6qcizTkmOZeFYFo5lEYyVbGF8GGgBZoCvAeeAXw+gTYuyjjjO7t27w25CZFgWjmXhWBbBWMlZUtPA74jI73tX1b7BQ7JaQ9KvBZaFY1k4lkUwVnKW1E+LyLPAM3gd+AZE5O7gmmauxZvl1oBlkc6ycCyLYGQ8gZKIPAP8qqp+37/eDXxeVe8MsH0pNoGSMcasXFgTKM0niwWAqvbizaSXFTaBkpOc09dYFuksC8eyCMZKzpLaLSJ/jnfAW4F3Aj0i0g6gqoH2lLEJlJzkJPHGskhnWTiWRTBWUjCS56n95ytuvwuvgLxmVVpkjDEmklZyltSrl7pfRO5X1QdvvEmLswmUnPb29rCbEBmWhWNZOJZFMFZzxr2PruKyrmITKDnj4+NhNyEyLAvHsnAsi2DEZopWm0DJOXbsWNhNiAzLwrEsHMsiGKtZMK46P1dECkXkKb/PxqCIfNK/vVFE+kXkeRF5SETyV7EdxhhjAhD0FsYM8BpVbQO2A68XkVcBvw/8sareDkwAH1xu4TaBkrNliw0SnGRZOJaFY1kEYzULxg+uvEE9U/7VPP9f8oyqr/u3Pwi8dbmF2wRKTmlpadhNiAzLwrEsHMsiGMueJSUiv7HU/ar63/3/f+0az08A+4DbgT8D/i9wRlWTHStGgNprPPcB4AGAqqoqenp6AO/XQ2lpaapzTmVlJS0tLezZs8d7U7m5dHd3s3//fs6dOwdAR0cHo6OjHD9+HICmpiYKCgo4ePAgyeVv3bqV3t5ewNui6erqYu/evUxNeTWvs7OTkZERTpw4AUBzczOJRIKhoSEAampqaGxspK+vD/BG2O3s7KS/vz/V8bCrq4ujR49y8uRJALZt28b8/DyHDnmTGNbW1lJXV0d/fz8AJSUldHR00NfXlzqOo6pUV1dz6tQpAFpbW5mZmeHIkSMA1NfXU11dTbJnfFlZGe3t7fT29qb6s+zYsYPBwUHGxsYAb3TPyclJhoeHAW+Ky4qKitRENOXl5bS1tbF7925UFRFh586dDAwMpM55b29vZ3x8PLX/OBvr6fz587zpTW+K5Hrq7u7m8OHDWVtPU1NT1NfXR3I9ZfvztG/fPkpKSiK5niC7n6fVtOzQICJyZb+Ly6jqJzN6IZENwCPAfwK+4u+OQkTqgX9U1dalnt/c3KzJD+vNrqenh127doXdjEiwLBzLwrEsnNUcGmTZLYxMC0IGyzkjIk8CXcAGEcn1tzLqgBPLPd8mUHIqKyvDbkJkWBaOZeFYFsHIZJfUZ5e6X1U/ssRzN+HN1HdGRIqA1+Ed8H4SeDvwt8D9wKPLtcMmUHJaWlrCbkJkWBaOZeFYFsHI5KD3vmX+LWUz8KQ/0u2PgMdV9VvAbwO/ISLPA5XAl5ZrhE2g5CT3WRrLIp1l4VgWwchkl9R1D/ehqs/gjTV15e3DwD3Xu1xjjDHZl8kuqT9R1V8Xkf/FIp3zVPXNgbTs6nZk42ViwY7nOJaFY1k4lkUwMjlL6m5V3SciH8PbrZSu1N/FFDibQMkYY1YuqxMoqWryOMV7gDFV3a2qu4Fb8E6RzYrp6elsvVTkJc/lNpZFOsvCsSyCsZLttrcDXxeR9wA/B7wP+PlAWrUIG63WSXbKMZZFOsvCsSyCsZL5MIZF5F3A3wMvAj+vqjZvqjHG3CQyOej9LJcf7K4AEkC/iKCqdwbVuHTFxcXZeJlYWO3u/nFmWTiWhWNZBCOTLYxfDLwVGbh06VLYTYiM0dFRSkpKwm5GJFgWjmXhWBbByOSg9wtL/ctGIwFmZ2ez9VKRlxzwzVgW6SwLx7IIxmoOb26MMWYNi03BKCwsDLsJkdHU1BR2EyLDsnAsC8eyCEZsCob19HZs9kHHsnAsC8eyCEZsCkZywhRDapIaY1mksywcyyIYsSkYxhhjwhWbgpGXlxd2EyKjqqoq7CZEhmXhWBaOZRGM2BQM2yfpbN26NewmRIZl4VgWjmURjNgUjOTE8QZ6e3vDbkJkWBaOZeFYFsGITcEwxhgTrtgUjJyc2DQ1cLZ7zrEsHMvCsSyCsewESlFhEygZY8zKZXUCpaiwCZQcK5yOZeFYFo5lEYxAC4aI1IvIkyIyJCKDIvJR//YKEXlcRI74/5cvtyybQMmxEwAcy8KxLBzLIhhBb2HMAb+pqtuAVwG/KiLbgI8DT6hqE/CEf90YY0yEZfUYhog8CnzO/7dLVV8Skc1Aj6o2L/Xc9vZ2tXl6PRcuXKCoqCjsZkSCZeFYFo5l4azmMYyVzOl9Q0SkAbgL6AeqVfUl/66TQPU1nvMA8ABATU0NPT09AGzZsoXS0lIGBgYAqKyspKWlhT179gCQm5tLd3c3+/fvT83t29HRwejoaGqc/KamJgoKClJjzlRVVbF169bU+dsFBQV0dXWxd+/e1OZtZ2cnIyMjnDhxAoDm5mYSiQRDQ0Mk29jY2EhfXx8ARUVFdHZ20t/fnxoLq6uri6NHj3Ly5EkAtm3bxvz8PIcOHQKgtraWuro6+vv7ASgpKaGjo4O+vj5mZmYA2Lx5M/Pz85w6dQqA1tZWZmZmOHLkCAD19fVUV1en9uOWlZXR3t5Ob28vc3NzAOzYsYPBwUHGxsYAaGtrY3JykuHhYQAaGhqoqKggWaTLy8tpa2tj9+7dqCoiws6dOxkYGGBiYgKA9vZ2xsfHOXbsWNbW09zcHK997WsjuZ66u7s5fPhw1tbTzMwMNTU1kVxP2f48PfPMMxQUFERyPUF2P0+rKStbGCJSAuwGfk9VvykiZ1R1Q9r9E6q65HGM5uZmTX5Yb3Y9PT3s2rUr7GZEgmXhWBaOZeHE6iwpEckDvgF8VVW/6d886u+Kwv//VNDtMMYYc2OCPktKgC8Bz6nqf0+76zHgfv/y/cCjyy3LJlBympuXPNxzU7EsHMvCsSyCEfQxjJ8F3gs8KyIH/Nv+A/Bp4GER+SDwAnDfcguyCZScRCIRdhMiw7JwLAvHsghGoAVDVXuBa33T37uSZdkESs7Q0JAN3+yzLBzLwrEsghGbnt7GGGPCFZuCYRMoOTU1NWE3ITIsC8eycCyLYMSmYNjok05jY2PYTYgMy8KxLBzLIhixKRg2NoyT7MhkLIt0loVjWQQjNgXDGGNMuGJTMGwCJcfGyHEsC8eycCyLYNgESsYYs4bFamiQ1XL+/PmwmxAZyYHUjGWRzrJwLItgxKZgLCwshN2EyLBOjI5l4VgWjmURjNgUDGOMMeGKzTGMu+++W/ft2xd2MyJhZmbG+qX4LAvHsnAsC+emPIaRnOzEwNGjR8NuQmRYFo5l4VgWwYhNwbh06VLYTYiM5OxixrJIZ1k4lkUwYlMwjDHGhCs2BcM64jjbtm0LuwmRYVk4loVjWQQjNgUjLgfns2F+fj7sJkSGZeFYFo5lEYzYFIyLFy+G3YTIOHToUNhNiAzLwrEsHMsiGLEpGMYYY8IVm4KRn58fdhMio7a2NuwmRIZl4VgWjmURjNgUDJtxz6mrqwu7CZFhWTiWhWNZBCPQgiEiXxaRUyJyMO22ChF5XESO+P+XZ7IsG3zQsYHVHMvCsSwcyyIYQW9hfAV4/RW3fRx4QlWbgCf868YYYyIu0IKhqnuA8StufgvwoH/5QeCtmSwrkUisXsNirqSkJOwmRIZl4VgWjmURjNwQXrNaVV/yL58Eqq/1QBF5AHgA4JZbbqGnpweALVu2UFpaysDAAACVlZW0tLSwZ88eAHJzc+nu7mb//v2cO3cOgI6ODkZHRzl+/DgATU1NFBQUcPCgt7esqqqKrVu30tvbC0BBQQFdXV3s3bs3NZ94Z2cnIyMjnDhxAoDm5mYSiQRDQ0MA1NTU0NjYmJpPuKioiM7OTvr7+1PDLXd1dXH06NHU0AXbtm1jfn4+dRpgbW0tdXV1qU3qkpISOjo66OvrS42n1d3dzdDQEKdOnQKgtbWVmZkZjhw5AkB9fT3V1dUkJ5wqKyujvb2d3t5e5ubmANixYweDg4OMjY0B0NbWxuTkJMPDwwA0NDRQUVHB/v37ASgvL6etrY3du3ejqogIO3fuZGBggImJCQDa29sZHx/n2LFjWV1PQGTX0+HDh7O6ngYGBiK7nrL5eZqamqKnpyey6ymbn6fVFPhotSLSAHxLVVv962dUdUPa/ROquuxxjDvuuEOfe+65wNoZJ319fXR1dYXdjEiwLBzLwrEsnLiPVjsqIpsB/P9PZfIkm0DJsZF7HcvCsSwcyyIYYRSMx4D7/cv3A4+G0AZjjDErFOguKRH5GrAL2AiMAv8Z+HvgYeBW4AXgPlW98sD4VWwCJWdubo7c3DAOP0WPZeFYFo5l4cRml5SqvltVN6tqnqrWqeqXVHVMVe9V1SZVfW0mxQJsEzPd4cOHw25CZFgWjmXhWBbBiE1Pb5tAyUmezWEsi3SWhWNZBCM2BcMYY0y4YlMwbAIlp7W1NewmRIZl4VgWjmURjNgUDJtAybHjOY5l4VgWjmURjNgUDJtAyUn2QDWWRTrLwrEsghGbgmGMMSZcsSkYNoGSU19fH3YTIsOycCwLx7IIRmwKhk2g5FRXX3O8xpuOZeFYFo5lEYzYFAybQMlJjpppLIt0loVjWQQjNgXDGGNMuGJTMGwCJaesrCzsJkSGZeFYFo5lEYzA58NYLR0dHWqbmcYYszKxGXxwNSVn6TKkZjEzlkU6y8KxLIIRm4IRly2hbEhOC2ksi3SWhWNZBCM2BcMYY0y47BhGDC0sLJCTY7UeLIt0loVjWTg35TGMCxcuhN2EyBgcHAy7CZFhWTiWhWNZBCM2BcP2STpjY2NhNyEyLAvHsnAsi2DEpmAYY4wJV2wKxrp168JuQmS0tbWF3YTIsCwcy8KxLIIRWsEQkdeLyCEReV5EPr7c4+fn57PRrFiYnJwMuwmRYVk4loVjWQQjlIIhIgngz4A3ANuAd4vItqWeYzNoOcPDw2E3ITIsC8eycCyLYIS1hXEP8LyqDqvqLPC3wFtCaosxxpgM5Ib0urXA8bTrI0DnlQ8SkQeAB/yrMyJyMAtti4ONwOmwGxERloVjWTiWhdO8WgsKq2BkRFW/CHwRQET2rlbnk7izLBzLwrEsHMvCEZFV6/Ec1i6pE0D6HIp1/m3GGGMiKqyC8SOgSUQaRSQfeBfwWEhtMcYYk4FQdkmp6pyI/BrwXSABfFlVl+vL/8XgWxYbloVjWTiWhWNZOKuWRWwGHzTGGBOu2PT0NsYYEy4rGMYYYzISiYIhIr8jIoMi8oyIHBCRThE5JiIb0x6zS0S+JSINIjIiIjlXLOOAiFzVlyPKFnvfGT6vIW59UkREReT/T7ueKyIvi8i3/OtvzmSImAxeZ1dymXGwGrmIyC0i8vWg2xoVIjLvf14GRGS/iPxM2G3KBhGp9N/3ARE5KSIn0q7nX+cyvyIib8/08aH3wxCRLuAXgXZVnfGLxDXfvKoeE5EXgZ8DdvvL+CmgVFX7s9Hm1bDS970GnAdaRaRIVS8AryPtVGpVfYwMz5QTEcE7/rYQSEuz64ZzUdWfABl/6NeAC6q6HUBEfgH4b8DOUFuUBao6BmwHEJFPAFOq+kfJ+0UkV1UDnQciClsYm4HTqjoDoKqn/Q/AUr6Gdypu0rvwhheJk0Xft4jcLSK7RWSfiHxXRDYD+LcPiMgA8KvJhfhbG9/3f2mlfm35v7R7ROTrIvJjEfmq/0Ubpn8A3uRffjfeegRARN4vIp/zL1eLyCPJ9ysiP+O/z0Mi8lfAQaBeRP5QRA6KyLMi8s601ykTkW/7j/9CcmtURKbSXu/tIvIV//I7/OUMiMieQBNYXKa5fEVEPisi/0dEhpO/DNO3OEXkhyLSkvb8HhHpEJF7RKRPRJ72n9+ctvxvish3ROSIiPxBlt7zaikDJuDqrUsR+ZyIvN+//GkRGRJva/6PFl9U/Ph/E18QkX7gD0TkEyLysbT7D4pIg3/5ff77HxCRv15kWZ/yl5e41utFoWD8E96H/7CIfF5EMvml8DDwVhFJbiG9k7QPWUxc9b5FJA/4U+Dtqno38GXg9/zH/yXwYVW9ctzmU8DrVLUdL4fPpt13F/DreAM8bgF+NrB3k5m/Bd4lIoXAncC1tgg/C+z232s7kDzlugn4vKq2AB14v7bagNcCf5gsrnhjlX0Y732/AnjbMu36XeAX/Nd783W8rxuVaS7g/dDoxts6/fQi9z8E3Afg57FZVfcCPwZ+TlXvwnu//zXtOdvx/nZeCbxTROqJtiJ/N8yPgb8APrXUg0WkEvgloEVV7wT+SxbamE11wM+o6m9c6wH+j4j/CLzG/zv/6BX3/yGwCfiAql5zaPDQC4aqTgF3440Z9TLwkP+rYLHzfdV/zijer8x7RWQ7MKeqsdqnv9j7Bn4FaAUeF5EDeCu4TkQ2ABtUNfnrN/3XQR7wP0XkWeDv8L4kk55S1RF/180BoCGo95MJVX3Gb8O78X5VX8trgP/hP2deVc/6t7+gqj/0L3cDX/PvH8XbPfnT/n1P+QNbzuP9kOhepmk/AL4iIv8Kr19QVq0gF4C/V9UFVR0Cqhe5/2Hc7qn7gOSxjfXA3/lbIn8MtKQ95wlVPauqF4Eh4LbreiPZc0FVt6vqTwGvB/5qma3ns8BF4Esi8jZgOhuNzKK/W+pL3vca/3GnAVR1PO2+/wSsV9UP6TL9LEI/hgHelwLQA/T4X3z3A2NAOW4AsQouH0wsuVtqlPhtXQCLvu9fBQZVtSv9cX7BuJZ/i5dBG94PgItp96WPCT9PNNb3Y8AfAbuAyhU+93yGj7vyj14Xub0wdafqh8Q74eBNwD4RudvfX5xNmeaSvk6v+pJU1RMiMiYid+JtNXzIv+tTwJOq+kv+LoqeaywzKn8nGVHVPvGO/20C5rj8R3Ch/5g5EbkHuBevmP4a3hfoWpH+uVg0g2X8CLhbRCquKCRXCX0LQ0SaRaQp7abtwAt4f9Dv9R+TAP4F8GTa474JvBHvQxG34xfXet/PAZvEOyCOiOSJSIuqngHOiEjyl/Ivpz1vPfCSvxXxXkL4hbxCXwY+qarPLvGYJ4B/Dd66F5H1izzm+3i7TxIisgnYATzl33ePeMPO5OD9ffT6t4+KyB3+7b+UXJCIvEJV+1X1d/G29sLYJZNJLpl6CPgtvF+Nz/i3rccdTH//KrxGJIh3wksC7wfmC8A2ESnwf2Td6z+mBC+Lf8D7gbWWp+M7hrcbFxFpBxr9278HvMPfPYeIVKQ95zt4uze/LSKlSy08Cr8kSoA/9VfwHPA83m6aS8D/EO8gr+C9qdTph6p6RkT6gBpVjeNsKdd6318EPut/SeYCf4K3D/8DwJdFRPGOfyR9HviGiLwPL6NMf4WHQlVHuPw4y2I+CnxRRD6I94v3XwMvXfGYR4AuYABvy+G3VPWk/wXyI+BzwO14PzIe8Z/zceBbeEVhL946AO/4RxPe39kT/jKzKsNcMvV14DNcvm//D4AHReQ/At9epdcJS5G/yxa8dXa/v7V+XEQexttdfRR42n9MKfCof4xIgGvu618DvgG8T0QG8Y6FHQZQ1UER+T1gt4jM42Xz/uSTVPXv/GLxmIi80T9j7yo2NIgxxpiMhL5LyhhjTDxYwTDGGJMRKxjGGGMyYgXDGGNMRqxgGGOMyYgVDGOMMRmxgmFiTRYZ6t0fbO+z/uX0wfsuG5gtS+1b8dDj6W02Jkqi0HHPmFXlD7a3N5uvKdcYWvomHHrcrGG2hWHWDBHZIt7w3f9OrmMSJfGGAv+MPxLqQX/8IUSkWES+LCJP+ct/i3/7+0XkMRH5Hl4P8cWWmT70+DWHEheRD/gjFz9F2qjCIrJJRL4hIj/y//2sf/ujfu9+RORXROSrK32/xqyUbWGYNUG8+R3+Fm+4g3Kuf0Kddaq6XUR24I3v1Ar8DvA9Vf2X/lAuT4nI//Yf3w7cudygbWm24w07PwMcEpE/xRsa5pN4oxefxRvOJDmsxWeAP1bVXhG5FfgucAfeMDI/EJGjwG8Cr7rO92tMxqxgmLVgE/Ao8DZVHRKRXTewrK8BqOoeESnzC8TPA29OO/5RCNzqX358BcUC/KHEAUQkOZT4RqBHVV/2b38I2Oo//rV4A+oln18mIiWqOioiv4tXXH5phW0w5rpYwTBrwVngRbx5L4ZucFmLDY0uwD9X1UPpd/hDoq90sMeVDiWeA7zKn6viSq/EG6X1lhW2wZjrYscwzFowizdc+ftE5D03uKx3AvhDyZ/1twa+C3xY/J/5InLXDb7GlfqBnSJSKd6si+9Iu++f8GYPxH/t7f7/9wBvwNu99TERacSYgFnBMGuCqp7Hm7b03+LN83y9LorI08AXgA/6t30Kb2bDZ/xho5ecEnSlVPUl4BNAH97sf8+l3f0RoEO8uZiHgA+JSAHwP4F/6Z+F9Zt4Q9+HPWe7WeNseHNjfCLSA3zMPy3XGHMF28IwxhiTETvobW46IvJnpPV18H1GVXfdwDJfCfz1FTfPqGrn9S7TmKixXVLGGGMyYrukjDHGZMQKhjHGmIxYwTDGGJMRKxjGGGMy8v8AuDKJKWM6pP0AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(kill_per_index, kill_per_class)\n",
    "# plt.plot(data01[\"month\"],data01[\"VALUE\"], c=\"red\",label=\"1948\")\n",
    "# plt.plot(data02[\"month\"],data02[\"VALUE\"], c=\"blue\",label=\"1949\")\n",
    "# plt.plot(data03[\"month\"],data03[\"VALUE\"], c=\"green\",label=\"1950\")\n",
    "# plt.plot(x_axix, train_pn_dis, color='skyblue', label='PN distance')\n",
    "plt.legend()\n",
    "# plt.xticks(kill_per_index,kill_per_index)\n",
    "plt.xlim(1, 6) # x轴范围\n",
    "plt.ylim(0, 75) # y轴范围\n",
    "# plt.title('simple-0.47')\n",
    "plt.xlabel('kill_per_index')\n",
    "plt.ylabel('kill_per_class')\n",
    "plt.xticks(range(1,7,1), class_name)\n",
    "plt.grid(linestyle='--') # figure中的网格线\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "No handles with labels found to put in legend.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(kill_per_index, kill_per_class_2)\n",
    "plt.legend()\n",
    "# plt.xticks(kill_per_index,kill_per_index)\n",
    "plt.xlim(1, 6) # x轴范围\n",
    "plt.ylim(0, 75) # y轴范围\n",
    "# plt.title('simple-0.92')\n",
    "plt.xlabel('kill_per_index')\n",
    "plt.ylabel('kill_per_class_2')\n",
    "plt.xticks(range(1,7,1), class_name)\n",
    "plt.grid(linestyle='--') # figure中的网格线\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(kill_per_index, kill_rate/75, c=\"red\",label=\"kill_rate\")\n",
    "plt.plot(kill_per_index, recall_rate, c=\"blue\",label=\"recall_rate\")\n",
    "plt.plot(kill_per_index, f1_rate, c=\"green\",label=\"f1_rate\")\n",
    "plt.plot(kill_per_index, precision_rate, c='peru', label='precision_rate')\n",
    "# plt.plot(kill_per_index, recall_rate, c='lime', label='recall_rate')\n",
    "plt.legend()\n",
    "# plt.xticks(kill_per_index,kill_per_index)\n",
    "plt.xlim(1, 6) # x轴范围\n",
    "plt.ylim(0, 1) # y轴范围\n",
    "plt.title('BIT-DenseNet')\n",
    "plt.xlabel('kill_per_index')\n",
    "plt.ylabel('kill_per_class')\n",
    "plt.xticks(range(1,7,1), class_name)\n",
    "plt.grid(linestyle='--') # figure中的网格线\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-0.14285714285714288, 0.7871720116618075)"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "correlation, p = scipy.stats.spearmanr(f1_rate,kill_rate/75)\n",
    "correlation, p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(kill_per_index, kill_origin/75, c=\"lime\",label=\"kill_rate_origin\")\n",
    "plt.plot(kill_per_index, kill_rate/75, c=\"red\",label=\"kill_rate_add\")\n",
    "plt.plot(kill_per_index, f1_rate_old, c=\"blue\",label=\"f1_origin\")\n",
    "# plt.plot(kill_per_index, recall_rate, c='lime', label='recall_rate')\n",
    "plt.legend()\n",
    "# plt.xticks(kill_per_index,kill_per_index)\n",
    "plt.xlim(1, 6) # x轴范围\n",
    "plt.ylim(0, 1) # y轴范围\n",
    "plt.title('BIT-DenseNet')\n",
    "plt.xlabel('kill_per_index')\n",
    "plt.ylabel('kill_per_class')\n",
    "plt.xticks(range(1,7,1), class_name)\n",
    "plt.grid(linestyle='--') # figure中的网格线\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "初始的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.26482044885142486, 0.6120552385657049)"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "correlation, p = scipy.stats.spearmanr(f1_rate_old, kill_origin)\n",
    "correlation, p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.0, 1.0)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "correlation, p = scipy.stats.spearmanr(precision_rate_old, kill_origin)\n",
    "correlation, p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.2239055377599495, 0.6697542987517857)"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "correlation, p = scipy.stats.spearmanr(recall_rate_old, kill_origin)\n",
    "correlation, p"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "结束的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-0.2058823529411765, 0.6955398941583553)"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "correlation, p = scipy.stats.spearmanr(f1_rate_new, kill_per_class)\n",
    "correlation, p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.20291986247835697, 0.6997979681570189)"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "correlation, p = scipy.stats.spearmanr(precision_rate_new, kill_per_class)\n",
    "correlation, p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-0.17393131069573456, 0.7417339277316277)"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "correlation, p = scipy.stats.spearmanr(recall_rate_new, kill_per_class)\n",
    "correlation, p"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "过程中"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-0.14285714285714288, 0.7871720116618075)"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "correlation, p = scipy.stats.spearmanr(f1_rate, kill_rate)\n",
    "correlation, p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.2571428571428572, 0.6227871720116618)"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "correlation, p = scipy.stats.spearmanr(precision_rate, kill_rate)\n",
    "correlation, p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-0.48571428571428577, 0.32872303206997094)"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "correlation, p = scipy.stats.spearmanr(recall_rate, kill_rate)\n",
    "correlation, p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "total = 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "for f1 in recall_rate:\n",
    "    total = total + abs(f1 - np.array(recall_rate).mean())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0199999999999998"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "total"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "total = 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "for f1 in f1_rate:\n",
    "    total = total + abs(f1 - np.array(f1_rate).mean())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6200000000000001"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "total"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "grad",
   "language": "python",
   "name": "grad"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
